'use strict';

const Controller = require('egg').Controller;

class HomeController extends Controller {
    async index() {
        //this.ctx.body = 'hi, egg';
        // console.log(this.app.tortoise);
        const {tortoise} = this.app;
        const ctx = this.ctx;
        let data = { name: 'egg' };
        await ctx.render('home/index.html', data);
        //
        // tortoise
        //     .queue('my-queue')
        //     .prefetch(1)
        //     .subscribe(function (msg, ack) {
        //         console.log(msg);
        //         ack();
        //     });

        // setInterval(function () {
        //     tortoise
        //         .queue('my-queue')
        //         .publish({Hello: `World_${new Date().getTime()}`});
        // }, 1000);

        // 生产
        // tortoise.exchange('eoa-exchange-direct', 'direct', { durable:false })
        //     .publish('formTo', { Hello: 'World' });

        // 消费
        // tortoise.queue('q2')
        //     .exchange('eoa-exchange-direct', 'direct', 'reply', { durable: false })
        //     .prefetch(1)
        //     .json()
        //     .subscribe( async function(msg, ack, nack) {
        //         console.log(`q2[队列] eoa-exchange-direct[交换器] direct[交换器类型] reply[路由键] 载荷: ${msg}`);
        //         // Handle 消息确认
        //        // ctx.body = 'hi, egg ' + JSON.stringify(msg);
        //
        //         data = { name: msg.Hello };
        //         console.log(msg);
        //         console.log(data);
        //         await ctx.render('home/index.html', data);
        //         ack(); // or nack();
        //     });

    }
}

module.exports = HomeController;
